cmake_minimum_required(VERSION 3.10)

project ( babyRx_pc_sim )
set ( CUSTOM_DEFINES  "__MULTI_UI_EN__" "UI_TOPBAR_CAM_STATE"
"__PC_SIM__"
"__PWR_LED_CTR___"
"DRV_BACKLIGHT_OFF"
"__NEW_MISC_CUSTOM__"
"DRV_RTC_OFF"
"__FST_RF_RX__"
"__RF_CMD_EXT_V2__"
"__MULTI_MAX_4__"
"__MULTI_SYNC_FUN__"
"__MULTICEIVER_MODE_FUN__"  
"DISABLE_RF_DEVICE_APP"
"__FST_RUNTIME_MOTOR_CONTROL__"
 )
if ( CMAKE_SYSTEM_NAME MATCHES "Linux" )
     list( APPEND CUSTOM_DEFINES   )
elseif( CMAKE_SYSTEM_NAME MATCHES "Windows" )
    list( APPEND CUSTOM_DEFINES _CRT_SECURE_NO_WARNINGS )
endif()

set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/bin )


set ( CUSTOM_480X272_DEFINES "__LCD_480x272__" "__FL_UI_STYLE_2__"
"__FST_AK37E_F126Q__"
"__FST_CODE_RELEASE_VB612__"
 ${CUSTOM_DEFINES} )

set ( CUSTOM_320X240_DEFINES "__LCD_320x240__" "__FL_UI_STYLE_3__" 
#   "__ENABLE_KEY_TONE__"
    "__FST_AK37E_F121Q__"
    "__FST_CODE_RELEASE_VB609__"
    "__320X240_FS_STR__"
    ${CUSTOM_DEFINES})

set ( CUSTOM_800X480_DEFINES "__LCD_800x480__" "__FL_UI_STYLE_4__" 
    "__FST_AK37E_F130Q__"
    ${CUSTOM_DEFINES})

# specify the C++ standard
# set(CMAKE_C_STANDARD 11)
# set(CMAKE_CXX_STANDARD 11)
# set(CMAKE_CXX_STANDARD_REQUIRED True)

set(CMAKE_CXX_FLAGS -g ${CMAKE_CXX_FLAGS})
set(CMAKE_C_FLAGS -g ${CMAKE_C_FLAGS})
set(baby_source_dir  ${CMAKE_CURRENT_SOURCE_DIR}/..)

set(sdl2_lib_dir  ${baby_source_dir}/pc_sim/SDL2-devel-2.26.5-mingw/SDL2-2.26.5/i686-w64-mingw32 )
#set(sdl2_lib_dir  ${baby_source_dir}/pc_sim/SDL2-devel-2.26.5-mingw/SDL2-2.26.5/x86_64-w64-mingw32 )

#set(sdl2_lib_dir  ${baby_source_dir}/pc_sim/SDL2-devel-2.26.5-VC/SDL2-2.26.5 )
# set(sdl2_lib_dir /home/xzf/workplace/tmp/baby_Rx/pc_sim/sdl-linux/SDL2-2.26.5/build/install)

message("sdl2_lib_dir ${sdl2_lib_dir}" )
set(    BABY_INC_DIRS
    ${baby_source_dir}/GUI_FST
    ${baby_source_dir}/GUI_FST/c_res/str
    ${baby_source_dir}/GUI_LV
    ${baby_source_dir}/alarm
    ${baby_source_dir}/custom
    ${baby_source_dir}/debug
    ${baby_source_dir}/drv
    ${baby_source_dir}/encrypt
    ${baby_source_dir}/gui
    ${baby_source_dir}/hal
    ${baby_source_dir}/inc
    ${baby_source_dir}/key
    ${baby_source_dir}/mbedtls
    ${baby_source_dir}/media_app
    ${baby_source_dir}/media_lib
    ${baby_source_dir}/mmi
    ${baby_source_dir}/nvram
    ${baby_source_dir}/pc_sim/inc
    ${baby_source_dir}/pc_sim/os_api
    ${sdl2_lib_dir}/include
    ${sdl2_lib_dir}/lib
    ${baby_source_dir}/pc_sim/dummy_headers
    ${baby_source_dir}/plat_api
    ${baby_source_dir}/resource
    ${baby_source_dir}/task_manager
    ${baby_source_dir}/test
    ${baby_source_dir}/utilities)

set(    GUI_FST_INC_DIRS
    ${baby_source_dir}/GUI_FST/app
    ${baby_source_dir}/GUI_FST/app/alarm_scene
    ${baby_source_dir}/GUI_FST/app/batcharge_scene
    ${baby_source_dir}/GUI_FST/app/camReg_scene
    ${baby_source_dir}/GUI_FST/app/factorytest_scene
    ${baby_source_dir}/GUI_FST/app/language_scene
    ${baby_source_dir}/GUI_FST/app/list
    ${baby_source_dir}/GUI_FST/app/mainmenu_scene
    ${baby_source_dir}/GUI_FST/app/pop
    ${baby_source_dir}/GUI_FST/app/Settings_scene
    ${baby_source_dir}/GUI_FST/app/sysinfo
    ${baby_source_dir}/GUI_FST/app/theme_scene
    ${baby_source_dir}/GUI_FST/app/video_scene
    ${baby_source_dir}/GUI_FST/app/vox_scene
    ${baby_source_dir}/GUI_FST/c_res/sound/keytone
    ${baby_source_dir}/GUI_FST/c_res/sound/default
    ${baby_source_dir}/GUI_FST/c_res/str
)
set(    GUI_LV_INC_DIRS
    ${baby_source_dir}/GUI_LV/lv_drivers
    ${baby_source_dir}/GUI_LV/lv_drivers/display
    ${baby_source_dir}/GUI_LV/lv_drivers/docs
    ${baby_source_dir}/GUI_LV/lv_drivers/indev
    ${baby_source_dir}/GUI_LV/lv_examples
    ${baby_source_dir}/GUI_LV/lv_examples/docs
    ${baby_source_dir}/GUI_LV/lv_examples/lv_apps
    ${baby_source_dir}/GUI_LV/lv_examples/lv_apps/benchmark
    ${baby_source_dir}/GUI_LV/lv_examples/lv_apps/demo
    ${baby_source_dir}/GUI_LV/lv_examples/lv_apps/sysmon
    ${baby_source_dir}/GUI_LV/lv_examples/lv_apps/terminal
    ${baby_source_dir}/GUI_LV/lv_examples/lv_apps/tpcal
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_group
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_misc
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_obj
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_arc
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_bar
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_btn
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_btnm
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_canvas
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_cb
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_chart
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_cont
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_cpicker
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_ddlist
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_gauge
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_img
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_imgbtn
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_kb
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_label
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_led
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_line
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_list
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_lmeter
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_mbox
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_page
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_preload
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_roller
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_slider
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_sw
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_ta
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_table
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_tabview
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_tileview
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_objx/lv_test_win
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_stress
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tests/lv_test_theme
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/10_keyboard
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/1_hello_world
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/2_objects
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/3_styles
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/4_themes
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/5_antialiasing
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/6_images
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/7_fonts
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/8_animations
    ${baby_source_dir}/GUI_LV/lv_examples/lv_tutorial/9_responsive
    ${baby_source_dir}/GUI_LV/lvgl
    ${baby_source_dir}/GUI_LV/lvgl/docs
    ${baby_source_dir}/GUI_LV/lvgl/porting
    ${baby_source_dir}/GUI_LV/lvgl/scripts
    ${baby_source_dir}/GUI_LV/lvgl/scripts/built_in_font
    ${baby_source_dir}/GUI_LV/lvgl/src
    ${baby_source_dir}/GUI_LV/lvgl/src/libgif
    ${baby_source_dir}/GUI_LV/lvgl/src/lv_core
    ${baby_source_dir}/GUI_LV/lvgl/src/lv_draw
    ${baby_source_dir}/GUI_LV/lvgl/src/lv_font
    ${baby_source_dir}/GUI_LV/lvgl/src/lv_hal
    ${baby_source_dir}/GUI_LV/lvgl/src/lv_misc
    ${baby_source_dir}/GUI_LV/lvgl/src/lv_objx
    ${baby_source_dir}/GUI_LV/lvgl/src/lv_themes

)
list( APPEND BABY_INC_DIRS ${GUI_FST_INC_DIRS} ${GUI_LV_INC_DIRS} )
set(    all_build_dirs
    alarm
    GUI_LV/lvgl/src
    custom
    encrypt
#    gui
# hal
    inc
#    key
    nvram
#    pc_sim/os_api
#    pc_sim
#    resource
    task_manager
    test
    utilities
)
set(hal_file
adc.c              Auxmain.c             dcl_adc.c       dcl_rtc.c    gpiosrvsetting.c   syscomp_config.c   uem_proc_msg.c
adc_msg_handle.c   bmt_task_main.c       dcl_bmt.c       dclH_kbd.c   l4c_eq_msg.c       uem_gpio_ctrl.c    uem_utility.c
adcmeasure.c       bmt_timer_control.c   dcl_chr_det.c   dclS_kbd.c             uem_main.c
adcsche.c          bmt_utility.c         dcl_pw.c        evshed.c     RTC.c              uem_msg_hdlr.c
)
set(keyfiles
keybrd.c keydrv.c)
set(pc_sim_file ${baby_source_dir}/pc_sim/sim_dummy_fun.c)
foreach(dir ${all_build_dirs})
    file(GLOB_RECURSE files  ${baby_source_dir}/pc_sim/os_api/*.c)
#    message( STATUS "prj_common_files = in ${dir} ${files}" )
    list( APPEND pc_sim_file ${files} )
endforeach()
#message("pc_sim_file:${pc_sim_file}")

set(GUI_FST_APPS_TYPE1
    batcharge_scene/  factorytest_scene/
    list/            pop/
    sysinfo/
#    video_scene/
    alarm_scene/  camReg_scene/
    language_scene/  mainmenu_scene/  Settings_scene/  theme_scene/  vox_scene/
   )
set(prj_gui_lv_drv_files
    ${baby_source_dir}/GUI_LV/lv_drivers/display/monitor.c
    ${baby_source_dir}/GUI_LV/lv_drivers/indev/keyboard.c
    ${baby_source_dir}/GUI_LV/lv_drivers/indev/mouse.c
    ${baby_source_dir}/GUI_LV/lv_drivers/indev/mousewheel.c
    ${baby_source_dir}/GUI_LV/lv_custom_api.c
)



set ( prj_common_files "${baby_source_dir}/babyRx.c")

set(prj_mmi_files
    ${baby_source_dir}/mmi/app_datetime.c 
    ${baby_source_dir}/mmi/Event_handler.c   
    ${baby_source_dir}/mmi/mmi_framework.c      
    ${baby_source_dir}/mmi/PhoneSetup.c    
    ${baby_source_dir}/mmi/VdoPlyApp.c
    ${baby_source_dir}/mmi/bootupFlow.c 
    ${baby_source_dir}/mmi/events.c         
    ${baby_source_dir}/mmi/mmi_motor.c         
    ${baby_source_dir}/mmi/power_switch_check.c 
    ${baby_source_dir}/mmi/BootupSrv.c   
    ${baby_source_dir}/mmi/GeneralSettingSrv.c 
    ${baby_source_dir}/mmi/mmi_rp_callback_mgr_table.c 
    ${baby_source_dir}/mmi/pwrOnApp.c       
    ${baby_source_dir}/mmi/wingui.c
    ${baby_source_dir}/mmi/CharBatSrv.c  
    ${baby_source_dir}/mmi/idleapp.c        
    ${baby_source_dir}/mmi/mmibootupInit.c     
    ${baby_source_dir}/mmi/PwronCharger.c
    ${baby_source_dir}/mmi/DateAndTime.c 
    ${baby_source_dir}/mmi/mainmenu.c 
    ${baby_source_dir}/mmi/MMITask.c    
    ${baby_source_dir}/mmi/Queue.c
    ${baby_source_dir}/mmi/DateTime.c   
    ${baby_source_dir}/mmi/mmi_cb_mgr.c    
    ${baby_source_dir}/mmi/MMITimer.c      
    ${baby_source_dir}/mmi/ShutdownAni.c
)

list( APPEND prj_common_files ${prj_mmi_files} ${prj_gui_lv_drv_files} ${pc_sim_file})
list( APPEND prj_common_files
    ${baby_source_dir}/drv/nvram_ram.c
    ${baby_source_dir}/drv/rf_pc.c
    ${baby_source_dir}/drv/vid_api.c
     ${baby_source_dir}/drv/multi_cam_config.c
    )
foreach(dir ${all_build_dirs})
#    message("dir = ${dir}")
    file(GLOB_RECURSE files  ${baby_source_dir}/${dir}/*.c)
#    message( STATUS "prj_common_files = in ${dir} ${files}" )
    list( APPEND prj_common_files ${files} )
endforeach()
foreach(dir ${GUI_FST_APPS_TYPE1})
#    message("dir = ${dir}")
    file(GLOB_RECURSE files  ${baby_source_dir}/GUI_FST/app/${dir}/*.c)
#    message( STATUS "prj_common_files = in ${dir} ${files}" )
    list( APPEND prj_common_files ${files} )
endforeach()


foreach(f ${hal_file})
    list( APPEND prj_common_files ${baby_source_dir}/hal/${f} )
endforeach()
foreach(f ${keyfiles})
    list( APPEND prj_common_files ${baby_source_dir}/key/${f} )
endforeach()
list( APPEND prj_common_files ${baby_source_dir}/resource/resource_api.c
     ${baby_source_dir}/resource/logo_611_TarTark.c
    )


set(gui_files "${baby_source_dir}/GUI_FST/app/fst_gui.c")
set(gui_files_dir 
    ${baby_source_dir}/GUI_FST/app/Settings_scene
    ${baby_source_dir}/GUI_FST/app/alarm_scene
    ${baby_source_dir}/GUI_FST/app/batcharge_scene
    ${baby_source_dir}/GUI_FST/app/camReg_scene
    ${baby_source_dir}/GUI_FST/app/factorytest_scene
    ${baby_source_dir}/GUI_FST/app/language_scene
    ${baby_source_dir}/GUI_FST/app/list
    ${baby_source_dir}/GUI_FST/app/mainmenu_scene
    ${baby_source_dir}/GUI_FST/app/pop
    ${baby_source_dir}/GUI_FST/app/sysinfo
    ${baby_source_dir}/GUI_FST/app/theme_scene
#   ${baby_source_dir}/GUI_FST/app/video_scene
    ${baby_source_dir}/GUI_FST/app/vox_scene
)

foreach(dir ${gui_files_dir})
#    message("dir = ${dir}")
    file(GLOB_RECURSE files  ${dir}/*.c)
    list( APPEND gui_files ${files} )
endforeach()
list( APPEND gui_files 
${baby_source_dir}/GUI_FST/app/video_scene/e_motor.c 
${baby_source_dir}/GUI_FST/app/video_scene/topbar_cam_indicator.c
${baby_source_dir}/GUI_FST/app/video_scene/video_scene.c
${baby_source_dir}/GUI_FST/c_res/str/multi_str.c
)
set(media_lib_files
${baby_source_dir}/media_lib/mdi_video.c
    )

#message( STATUS "gui_files =${gui_files}" )
list( APPEND prj_common_files ${gui_files} ${media_lib_files})
 
#file(GLOB_RECURSE GUI_LV_FILES  ${baby_source_dir}/GUI_LV/*.c)
#list( APPEND prj_common_files ${GUI_LV_FILES} )

set(gui_320X240_img_dirs
#    ${baby_source_dir}/GUI_FST/c_res/320x240/default
    ${baby_source_dir}/GUI_FST/c_res/320x240/default/Settings_scene/default
    ${baby_source_dir}/GUI_FST/c_res/320x240/default/Settings_scene/res
    ${baby_source_dir}/GUI_FST/c_res/320x240/default/batcharge_scene/default
    ${baby_source_dir}/GUI_FST/c_res/320x240/default/list/default
    ${baby_source_dir}/GUI_FST/c_res/320x240/default/mainmenu_scene/default
    ${baby_source_dir}/GUI_FST/c_res/320x240/default/pop/default
    ${baby_source_dir}/GUI_FST/c_res/320x240/default/video_scene/default
)
foreach(dir ${gui_320X240_img_dirs})
#    message("dir = ${dir}")
    file(GLOB_RECURSE files  ${dir}/*.c)
#    message( STATUS "prj_common_files = in ${dir} ${files}" )
    list( APPEND gui_320X240_files ${files} )
endforeach()
#file(GLOB_RECURSE gui_320X240_strfiles  ${baby_source_dir}/GUI_FST/c_res/str/320x240_FS/*.c)
list( APPEND gui_320X240_files ${gui_320X240_strfiles} )
list( APPEND gui_320X240_files  
    ${baby_source_dir}/GUI_FST/c_res/str/lv_font_HarmonyOS_SansLight_1bit_10.c
    ${baby_source_dir}/GUI_FST/c_res/str/lv_font_HarmonyOS_SansLight_1bit_14.c
    ${baby_source_dir}/GUI_FST/c_res/str/lv_font_HarmonyOS_SansLight_1bit_16.c
    ${baby_source_dir}/GUI_FST/c_res/str/lv_font_HarmonyOS_SansLight_1bit_18.c
)
#message("gui_320X240_files = ${gui_320X240_files}")


set(gui_480X272_img_dirs
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/Settings_scene
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/batcharge_scene/default
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/list/default
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/logo
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/logo/VB6008
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/logo/VB612
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/mainmenu_scene
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/mainmenu_scene/default
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/pop/default
    ${baby_source_dir}/GUI_FST/c_res/480x272/default/video_scene/default
)

foreach(dir ${gui_480X272_img_dirs})
    file(GLOB_RECURSE files  ${dir}/*.c)
 #   message("dir=${dir} files:${files}")
    list( APPEND gui_480x272_files ${files} )
endforeach()
file(GLOB_RECURSE gui_480x272_strfiles  ${baby_source_dir}/GUI_FST/c_res/str/480x272_FS/*.c)
list( APPEND gui_480x272_files ${gui_480x272_strfiles} )
#message( STATUS "gui_480x272_files = ${gui_480x272_files}" )




#message( STATUS "BABY_INC_DIRS = ${BABY_INC_DIRS}" )
#message( STATUS "prj_common_files = ${prj_common_files}" )

macro(source_group_by_dir source_files)
    if(MSVC)
        set(sgbd_cur_dir ${CMAKE_CURRENT_SOURCE_DIR})
        foreach(sgbd_file ${${source_files}})
            string(REGEX REPLACE ${sgbd_cur_dir}/\(.*\) \\1 sgbd_fpath ${sgbd_file})
            string(REGEX REPLACE "\(.*\)/.*" \\1 sgbd_group_name ${sgbd_fpath})
            string(COMPARE EQUAL ${sgbd_fpath} ${sgbd_group_name} sgbd_nogroup)
            string(REPLACE "/" "\\" sgbd_group_name ${sgbd_group_name})
            if(sgbd_nogroup)
                set(sgbd_group_name "\\")
            endif(sgbd_nogroup)
            source_group(${sgbd_group_name} FILES ${sgbd_file})
        endforeach(sgbd_file)
    endif(MSVC)
endmacro(source_group_by_dir)





set(prj_480x272_files ${prj_common_files} ${gui_480x272_files})
set(prj_320x240_files ${prj_common_files} ${gui_320X240_files})

set(prj_800x480_files ${prj_common_files} ${gui_320X240_files})

source_group_by_dir(prj_480x272_files)
source_group_by_dir(prj_320x240_files)
source_group_by_dir(prj_800x480_files)

# add_executable( baby_rx_800x480  ${prj_common_files} )
# target_include_directories( baby_rx_800x480
#     PRIVATE 
#         ${BABY_INC_DIRS}
# )

# target_compile_definitions( baby_rx_800x480
#     PRIVATE
#        ${CUSTOM_480X272_DEFINES} 
# )


add_executable( baby_rx_480x272  ${prj_480x272_files} )
target_include_directories( baby_rx_480x272
    PRIVATE 
        ${BABY_INC_DIRS}
)
target_link_libraries(baby_rx_480x272
    PRIVATE
        SDL2
    )
target_link_directories(baby_rx_480x272
    PRIVATE
        ${sdl2_lib_dir}/lib
    )
target_compile_definitions( baby_rx_480x272
    PRIVATE
       ${CUSTOM_480X272_DEFINES} 
)
add_executable( baby_rx_320x240  ${prj_320x240_files} )
target_include_directories( baby_rx_320x240
    PRIVATE 
        ${BABY_INC_DIRS}
)

target_compile_definitions( baby_rx_320x240
    PRIVATE
       ${CUSTOM_320X240_DEFINES} 
)
target_link_libraries(baby_rx_320x240
    PRIVATE
        SDL2
    )
target_link_directories(baby_rx_320x240
    PRIVATE
        ${sdl2_lib_dir}/lib
    )
add_executable( baby_rx_800x480  ${prj_800x480_files} )
target_include_directories( baby_rx_800x480
    PRIVATE 
        ${BABY_INC_DIRS}
)

target_compile_definitions( baby_rx_800x480
    PRIVATE
       ${CUSTOM_800X480_DEFINES} 
)
target_link_libraries(baby_rx_800x480
    PRIVATE
        SDL2
    )
